home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Games Collection 1 / software vault.zip / software vault / CDR10 / YICN23.ZIP / BEET / SHBEET1.CPP < prev    next >
C/C++ Source or Header  |  1993-01-31  |  4KB  |  103 lines

  1. #include "xlib.h"
  2. #include "xtext.h"
  3. #include <conio.h>
  4. #include <stdlib.h>
  5. #include <stdio.h>
  6. #include <bios.h>
  7. #include "yakPal.h"
  8. #include "platform.h"
  9. #include "sb1misc.h"
  10. #include "yakkeys.h"
  11. #include "xrect.h"
  12. //extern yakMouse mouse;
  13.  
  14. yakLib sb1Lib("shbeet1");
  15. grumPlayer player1;
  16. extern player * firstPlayer;
  17.  
  18. void getKeys(void)
  19. {
  20.   if (keyboard.keys[yakKeyboard::upArrow])
  21.     player1.go(platformBeast::jump);
  22.   if (keyboard.keys[yakKeyboard::leftArrow])
  23.     player1.go(platformBeast::goLeft);
  24.   if (keyboard.keys[yakKeyboard::rightArrow])
  25.     player1.go(platformBeast::goRight);
  26.   if (keyboard.keys[yakKeyboard::spaceBar])
  27.   {
  28.     keyboard.keys[yakKeyboard::spaceBar] = 0;
  29.     player1.fireMissile();
  30.   }
  31. }
  32.  
  33.  
  34. void main(void)
  35. {
  36.   keyboard.install();
  37.   firstPlayer = &player1;
  38.   randomize();
  39.   x_set_mode(0, 435);
  40.   x_set_splitscreen(150);
  41.   x_set_doublebuffer(240);
  42.   x_text_init();
  43.   yakPalette myYakPalette("standard.ypl", &sb1Lib);
  44.   myYakPalette.put();
  45.   loadIcons();
  46.   animap backgroundMap(2, 48, 32, 32);
  47.   backgroundMap.loadIcon(0, "swall", &sb1Lib);
  48.   backgroundMap.loadIcon(1, "sfloor", &sb1Lib);
  49. //  backgroundMap.loadIcon(2, "svines", &sb1Lib);
  50.   backgroundMap.randomize();
  51.   player1.assignIcon(PLAYER, factor::eightFace);
  52.   player1.mymap = &backgroundMap;
  53.   player1.squareX = 23;
  54.   player1.squareY = 23;
  55.   player1.put(0,0);
  56.   blob *myBlob;
  57.   for (int blobCounter = 1; blobCounter < 25; ++blobCounter)
  58.   {
  59.     myBlob = new blob;
  60.     myBlob->mymap = &backgroundMap;
  61.     myBlob->put(random(25), random(25));
  62.   }
  63.   backgroundMap.randomize();
  64.   backgroundMap.showXY(player1.mapX-4,player1.mapY-2, 96, 96, 8,4, HiddenPageOffs);
  65.   x_page_flip(48 + player1.squareX, 48+player1.squareY);
  66.   backgroundMap.showXY(player1.mapX-4,player1.mapY-2, 96, 96, 8,4, HiddenPageOffs);
  67.   int oldMapX = player1.mapX, oldMapY = player1.mapY;
  68.   drawBorder();
  69.   while (!keyboard.keys[yakKeyboard::charQ])
  70.   {
  71.     if ((oldMapX != player1.mapX) || (oldMapY != player1.mapY))
  72.       {
  73.         oldMapX = backgroundMap.lastMapX;
  74.         oldMapY = backgroundMap.lastMapY;
  75.         backgroundMap.smartRefresh(player1.mapX-4, player1.mapY-2, HiddenPageOffs);
  76.         x_page_flip(48 + player1.squareX, 48+player1.squareY);
  77. //        backgroundMap.lastMapX = oldMapX;
  78. //        backgroundMap.lastMapY = oldMapY;
  79. //        getKeys();
  80. //        backgroundMap.advance();
  81. //        backgroundMap.smartRefresh(player1.mapX-4, player1.mapY-2, HiddenPageOffs);
  82. //        x_page_flip(48 + player1.squareX, 48+player1.squareY);
  83.         x_cp_vid_rect(48,48,432,240,48,48,VisiblePageOffs, HiddenPageOffs, ScrnLogicalPixelWidth,ScrnLogicalPixelWidth);
  84.         oldMapX = player1.mapX; oldMapY = player1.mapY;
  85.         getKeys();
  86.         backgroundMap.advance();
  87.       }
  88.     else
  89.     {
  90.       backgroundMap.smartRefresh(player1.mapX-4, player1.mapY-2, HiddenPageOffs);
  91.       x_page_flip(48 + player1.squareX, 48+player1.squareY);
  92.       x_bgprintf(10,10,SplitScrnOffs,15,20,"MapX %d***Mapy %d    ", player1.mapX, player1.mapY);
  93.       x_bgprintf(10,20,SplitScrnOffs,15,20,"SquX %d***Squy %d    ", player1.squareX, player1.squareY);
  94.       x_bgprintf(10,30,SplitScrnOffs,15,20,"Hit Points:    %d    ", player1.hitPoints);
  95.       getKeys();
  96.       backgroundMap.advance();
  97.     }
  98.     if ((player1.mymap->mapData[player1.mapX][player1.mapY].myTerrainType == 1) && (player1.squareY == FLOORHEIGHT))
  99.       player1.xMomentum = 0;
  100.   }
  101.   keyboard.remove();
  102.   x_text_mode();
  103. }